use crate::test_type::test_struct::TestStruct;

impl TestStruct { 
    pub fn get_struct_name(&self) -> &str { 
        "TestStruct" 
    }

    pub fn get_field_name_test_int(&self) -> &str { 
        "test_int"
    }

    pub fn get_field_type_name_test_int(&self) -> &str { 
        "i32"
    }

    pub fn set_test_int(&mut self, input: i32) { 
        self.test_int = input;
    }

    pub fn get_test_int(&self) -> &i32 { 
        &self.test_int
    }

    pub fn get_field_name_test_float(&self) -> &str { 
        "test_float"
    }

    pub fn get_field_type_name_test_float(&self) -> &str { 
        "f32"
    }

    pub fn set_test_float(&mut self, input: f32) { 
        self.test_float = input;
    }

    pub fn get_test_float(&self) -> &f32 { 
        &self.test_float
    }

    pub fn get_field_name_test_path(&self) -> &str { 
        "test_path"
    }

    pub fn get_field_type_name_test_path(&self) -> &str { 
        "crate::test_type::test_type::TestType"
    }

    pub fn set_test_path(&mut self, input: crate::test_type::test_type::TestType) { 
        self.test_path = input;
    }

    pub fn get_test_path(&self) -> &crate::test_type::test_type::TestType { 
        &self.test_path
    }

    pub fn get_field_name_test_array(&self) -> &str { 
        "test_array"
    }

    pub fn get_field_type_name_test_array(&self) -> &str { 
        "Vec<crate::test_type::test_type::TestType>"
    }

    pub fn set_test_array(&mut self, input: Vec<crate::test_type::test_type::TestType>) { 
        self.test_array = input;
    }

    pub fn get_test_array(&self) -> &Vec<crate::test_type::test_type::TestType> { 
        &self.test_array
    }

    pub fn get_element_type_name_test_array(&self) -> &str {
        "crate::test_type::test_type::TestType"
    }

    pub fn get_array_size_test_array(&self) -> usize {
        self.test_array.len()
    }

    pub fn set_element_test_array(&mut self, index: usize, input: crate::test_type::test_type::TestType) {
        self.test_array[index] = input;
    }

    pub fn get_element_test_array(&self, index: usize) -> &crate::test_type::test_type::TestType {
        &self.test_array[index]
    }

    pub fn add_element_test_array(&mut self, input: crate::test_type::test_type::TestType) {
        self.test_array.push(input);
    }

}